﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Apa.Control;
using Apa.Data;


namespace Apa.Forms
{
    public partial class frmActualizarProgramaUsuario : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack){

                Controladora control = new Control.Controladora();


                List<tblLicencia> licencia = Session["Licencia"] as List<tblLicencia>;
                int idPrograma = licencia.First().idPrograma;

                tblPrograma programa=  control.consultarPrograma(idPrograma);

                Session.Add("programa", programa);

                cargarPrograma(programa.idIES, programa.nombre);

                ListItem items = new ListItem("[Seleccionar]", "");
               

                ddlNivelAcademico.DataSource = control.nivelAcademico();
                ddlNivelAcademico.DataTextField = "nombre";
                ddlNivelAcademico.DataValueField = "id";
                ddlNivelAcademico.DataBind();

                ddlNivelAcademico.Items.Insert(0, items);
                ddlNivelAcademico.SelectedIndex = 0;



                ddlNivelFormacion.DataSource = control.nivelFormacion();
                ddlNivelFormacion.DataTextField = "nombre";
                ddlNivelFormacion.DataValueField = "id";
                ddlNivelFormacion.DataBind();

                ddlNivelFormacion.Items.Insert(0, items);
                ddlNivelFormacion.SelectedIndex = 0;


                cargarPrograma(programa.idIES, programa.nombre);

            }
        }

   

        protected void btGuardar_Click(object sender, EventArgs e)
        {
            Controladora control = new Controladora();
            tblPrograma programa= Session["programa"] as tblPrograma;
           bool actualiza= control.actualizarPrograma(programa.id, tbFacultad.Text, tbSede.Text, tbEstado.Text, tbCreditos.Text, ddMetodología.SelectedItem.Text, DateTime.Parse(tbFechaCreacion.Text));
          if(actualiza){

              Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "alert('Se actualizó correctamente el programa!');", true);

          }else{
              Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "alert('No se pudo actualizar el programa!');", true);

          }
        }

        //protected void btLimpiar_Click(object sender, EventArgs e)
        //{
            
        //   // tbPrograma.Text = "";
        //   // tbCodigo.Text = "";
        //   // lbInforme.Text = "";

        //    //int i = 0;
        //    //foreach (ListItem item in ddlNivelAcademico.Items)
        //    //{
        //    //    if (i == 0)
        //    //    {
        //    //        item.Selected = true;
        //    //        i++;

        //    //    }
        //    //    else
        //    //    {
        //    //        item.Selected = false;


        //    //    }
        //    //}

        //    tbFacultad.Text="";
        //    tbSede.Text="";
        //    tbEstado.Text="";
        // //   ddlNivelAcademicoReal.SelectedItem.Text.Text = "";
        //    tbCreditos.Text="";
        //    tbMetodologia.Text="";
        //    tbFechaCreacion.Text="";
     
        //}

        public void cargarPrograma(int idIes, string nombrePrograma)
        {
            try
            {
                
                Controladora control = new Controladora();
                tblPrograma programa = control.consultarProgramaXNombre(idIes, nombrePrograma);
               
                
                if (programa != null)
                {
                    tbPrograma.Text = programa.nombre;
                  
                    List<tblLicencia> licencia = control.consultarLicenciaXPrograma(programa.id).OrderBy(x => x.id).ToList();
                    tblUsuario usuario = control.consultarUsuario(licencia.First().idUsuario);

             
                    tbCodigo.Text = programa.codigo;
                    tbPrograma.Text = programa.nombre;

                   
                    tblNivelAcademico tp = control.nivelAcademico(programa.idNivelAcademico);
                    if (tp != null)
                    foreach (ListItem item in ddlNivelAcademico.Items)
                    {
                        if (item.Value == tp.id.ToString())
                        {
                            item.Selected = true;

                        }
                        else
                        {
                            item.Selected = false;


                        }
                    }



                    tblNivelFormacion tf = control.nivelFormacion(programa.idNivelFormacion);
                    if (tf != null)
                    foreach (ListItem item in ddlNivelFormacion.Items)
                    {
                        if (item.Value == tf.id.ToString())
                        {
                            item.Selected = true;

                        }
                        else
                        {
                            item.Selected = false;


                        }
                    }

                    tbFacultad.Text = programa.facultad;
                    tbSede.Text = programa.sede;
                    tbEstado.Text =programa.estado;
               
                    tbCreditos.Text = programa.nroCredito;


                    foreach (ListItem item in ddMetodología.Items)
                    {
                        if (item.Value == programa.metodologia)
                        {
                            item.Selected = true;

                        }
                        else
                        {
                            item.Selected = false;


                        }
                    }

                    try
                    {

                        tbFechaCreacion.Text = Convert.ToDateTime(programa.fechaFundacion).ToString("yyyy-MM-dd");
                    }
                    catch (Exception ex)
                    {

                    }

                }
            }
            catch (Exception)
            {

            }


        }


    }
}